﻿<?xml version="1.0" encoding="UTF-8"?>
<GenerateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="generateMetaModel_Module.xsd">
  <PythonExport 
    Father="PersistencePy" 
    Name="PropertyContainerPy" 
    TwinPointer="PropertyContainer" 
    Twin="PropertyContainer" 
    Include="App/PropertyContainer.h" 
    Namespace="App" 
    FatherInclude="Base/PersistencePy.h" 
    FatherNamespace="Base"
    DisableNotify="true">
    <Documentation>
      <Author Licence="LGPL" Name="Juergen Riegel" EMail="FreeCAD@juergen-riegel.net" />
      <UserDocu>App.PropertyContainer class.</UserDocu>
    </Documentation>
    <Methode Name="getPropertyByName">
      <Documentation>
        <UserDocu>getPropertyByName(name, checkOwner=0) -> object or Tuple

Returns the value of a named property. Note that the returned property may not
always belong to this container (e.g. from a linked object).

name : str
     Name of the property.
checkOwner : int
    0: just return the property.
    1: raise exception if not found or the property does not belong to this container.
    2: return a tuple (owner, propertyValue).</UserDocu>
      </Documentation>
    </Methode>
    <Methode Name="getPropertyTouchList">
      <Documentation>
        <UserDocu>getPropertyTouchList(name) -> tuple

Returns a list of index of touched values for list type properties.

name : str
    Property name.</UserDocu>
      </Documentation>
    </Methode>
    <Methode Name="getTypeOfProperty">
      <Documentation>
        <UserDocu>getTypeOfProperty(name) -> list

Returns the type of a named property. This can be a list conformed by elements in
(Hidden, NoRecompute, NoPersist, Output, ReadOnly, Transient).

name : str
    Property name.</UserDocu>
      </Documentation>
    </Methode>
    <Methode Name="getTypeIdOfProperty">
      <Documentation>
        <UserDocu>getTypeIdOfProperty(name) -> str

Returns the C++ class name of a named property.

name : str
    Property name.</UserDocu>
      </Documentation>
    </Methode>
      <Methode Name="setEditorMode">
            <Documentation>
                <UserDocu>setEditorMode(name, type) -> None

Set the behaviour of the property in the property editor.

name : str
    Property name.
type : int, sequence of str
    Property type.
    0: default behaviour. 1: item is ready-only. 2: item is hidden. 3: item is hidden and read-only.
    If sequence, the available items are 'ReadOnly' and 'Hidden'.</UserDocu>
            </Documentation>
        </Methode>
      <Methode Name="getEditorMode">
            <Documentation>
                <UserDocu>getEditorMode(name) -> list

Get the behaviour of the property in the property editor.
It returns a list of strings with the current mode. If the list is empty there are no
special restrictions.
If the list contains 'ReadOnly' then the item appears in the property editor but is
disabled.
If the list contains 'Hidden' then the item even doesn't appear in the property editor.

name : str
    Property name.</UserDocu>
            </Documentation>
        </Methode>
      <Methode Name="getGroupOfProperty">
      <Documentation>
        <UserDocu>getGroupOfProperty(name) -> str

Returns the name of the group which the property belongs to in this class.
The properties are sorted in different named groups for convenience.

name : str
    Property name.</UserDocu>
      </Documentation>
    </Methode>
      <Methode Name="setGroupOfProperty">
      <Documentation>
        <UserDocu>setGroupOfProperty(name, group) -> None

Set the name of the group of a dynamic property.

name : str
    Property name.
group : str
    Group name.</UserDocu>
      </Documentation>
    </Methode>
      <Methode Name="setPropertyStatus">
            <Documentation>
                <UserDocu>setPropertyStatus(name, val) -> None

Set property status.

name : str
    Property name.
val : int, str, sequence of str or int
    Call getPropertyStatus() to get a list of supported text value.
    If the text start with '-' or the integer value is negative, then the status is cleared.</UserDocu>
            </Documentation>
      </Methode>
      <Methode Name="getPropertyStatus">
            <Documentation>
                <UserDocu>getPropertyStatus(name='') -> list

Get property status.

name : str
    Property name. If empty, returns a list of supported text names of the status.</UserDocu>
            </Documentation>
      </Methode>
    <Methode Name="getDocumentationOfProperty">
      <Documentation>
        <UserDocu>getDocumentationOfProperty(name) -> str

Returns the documentation string of the property of this class.

name : str
    Property name.</UserDocu>
      </Documentation>
    </Methode>
    <Methode Name="setDocumentationOfProperty">
      <Documentation>
        <UserDocu>setDocumentationOfProperty(name, docstring) -> None

Set the documentation string of a dynamic property of this class.

name : str
    Property name.
docstring : str
    Documentation string.</UserDocu>
      </Documentation>
    </Methode>
    <Methode Name="getEnumerationsOfProperty">
      <Documentation>
        <UserDocu>getEnumerationsOfProperty(name) -> list or  None

Return all enumeration strings of the property of this class or None if not a
PropertyEnumeration.

name : str
    Property name.</UserDocu>
      </Documentation>
    </Methode>
      <Methode Name="dumpPropertyContent" Keyword="true" Const="true">
            <Documentation>
                <UserDocu>dumpPropertyContent(Property, Compression=3) -> bytearray

Dumps the content of the property, both the XML representation and the additional
data files required, into a byte representation.

Property : str
    Property Name.
Compression : int
    Set the data compression level in the range [0, 9]. Set to 0 for no compression.</UserDocu>
            </Documentation>
      </Methode>
      <Methode Name="restorePropertyContent">
            <Documentation>
                <UserDocu>restorePropertyContent(name, obj) -> None

Restore the content of the object from a byte representation as stored by `dumpPropertyContent`.
It could be restored from any Python object implementing the buffer protocol.

name : str
    Property name.
obj : buffer
    Object with buffer protocol support.</UserDocu>
            </Documentation>
      </Methode>
    <Attribute Name="PropertiesList" ReadOnly="true">
      <Documentation>
        <UserDocu>A list of all property names.</UserDocu>
      </Documentation>
      <Parameter Name="PropertiesList" Type="List"/>
    </Attribute>
    <CustomAttributes />
  </PythonExport>
</GenerateModel>
